Paul Eggert [Wed, 11 Sep 2019 21:24:03 +0000 (14:24 -0700)]
Omit duplicate test of current directory
* src/callproc.c (encode_current_directory): Remove redundant
call to Ffile_accessible_directory_p. The code checks the
encoded name with file_accessible_directory_p anyway.
Paul Eggert [Wed, 11 Sep 2019 18:26:07 +0000 (11:26 -0700)]
Improve checking of pdump load failures
* src/alloc.c (memory_full): Just report "memory exhausted" if
failure occurs during initialization, since fancier recovery
schemes are not likely to work when not initialized.
* src/emacs.c (dump_error_to_string): Accept int, not enum
pdumper_load_result, since the result might not fit in the
enum. Use strerror if it was derived from errno. This is for
better diagnostics of pdump load failures.
(load_pdump_find_executable): Return char *, not enum. 2nd
arg is now pointer to buffer size, rather than pointer to
pointer to buffer. All callers changed. Use Emacs allocator
since they should now be OK even during early startup.
Use check_executable instead access, to use effective rather
than real permissions.
(load_pdump): Return void since callers ignore result.
Use int where enum could be too narrow. Use heap rather
than stack for possibly-long string. Prefer ptrdiff_t to
size_t.
* src/fileio.c (check_executable): Now extern.
* src/pdumper.c (pdumper_load): Return int that may have
errno added to it, for better diagnostics when loads fail.
Paul Eggert [Wed, 11 Sep 2019 17:19:07 +0000 (10:19 -0700)]
Reset dbus registered buses on dump load
Problem reported by Leonard Lausen (Bug#37331).
* src/dbusbind.c: Include pdumper.h.
(syms_of_dbusbind_for_pdumper):
New function, to reset the registered buses.
(syms_of_dbusbind): Use it, fixing a TODO.
Paul Eggert [Wed, 11 Sep 2019 15:50:02 +0000 (08:50 -0700)]
Fix auto-save with user-emacs-directory
* lisp/startup.el (auto-save-list-file-prefix): Delay initialization,
since the value depends on user-emacs-directory (Bug#37354).
Mattias Engdegård [Wed, 11 Sep 2019 09:18:38 +0000 (11:18 +0200)]
* lisp/emacs-lisp/elint.el (elint-directory-skip-re): Fix doc typo.
Katsumi Yamaoka [Wed, 11 Sep 2019 02:41:34 +0000 (02:41 +0000)]
Create a new overlay used to mark Attachment header (bug#37370)
* lisp/gnus/gnus-art.el (gnus-mime-inline-part)
(gnus-mm-display-part, gnus-mime-buttonize-attachments-in-header):
Create a new overlay used to mark Attachment header instead of
using existing overlays.
Stephen Leake [Tue, 10 Sep 2019 10:37:51 +0000 (03:37 -0700)]
Stephen Leake [Tue, 10 Sep 2019 10:36:15 +0000 (03:36 -0700)]
Support `cl-defstruct' in autoloads
* lisp/emacs-lisp/autoload.el (make-autoload): Add `cl-defstruct' to
"complex cases" list.
* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Add :autoload-end to
limit what is declared in autoloads.el for a defstruct.
Ulf Jasper [Mon, 9 Sep 2019 16:35:02 +0000 (18:35 +0200)]
Handle missing start-time when importing ical event (Bug#33277)
* lisp/calendar/icalendar.el (icalendar--convert-ical-to-diary): Set
start time only if it is explicitly given in ical. Do not use
start-time as default for end-time (Bug#33277).
* test/lisp/calendar/icalendar-tests.el (icalendar-import-bug-33277):
New. Test fix for Bug#33277.
Stefan Kangas [Mon, 9 Sep 2019 02:14:50 +0000 (04:14 +0200)]
Match Python 3 code object names in "M-x pdb"
* lisp/progmodes/gud.el (gud-pdb-marker-regexp): Match Python 3 code
object names. (Bug#11679)
Stefan Kangas [Sun, 8 Sep 2019 23:04:23 +0000 (01:04 +0200)]
; * lisp/ps-print.el: Doc fix.
Stefan Kangas [Sun, 8 Sep 2019 22:24:18 +0000 (00:24 +0200)]
Remove final XEmacs compat code from dframe.el
* lisp/dframe.el (top-level): Doc fix.
(dframe-frame-parameter): Redefine as an obsolete function alias for
'frame-parameter'.
Stefan Monnier [Sun, 8 Sep 2019 22:41:43 +0000 (18:41 -0400)]
* lisp/emacs-lisp/cl-macs.el (cl-defstruct): Define setter functions.
When :noinline is specified one can't rely on setf expanding the
inlinable function to construct the setter.
Fixes bug#37283.
Stefan Kangas [Mon, 1 Jul 2019 14:16:06 +0000 (16:16 +0200)]
Remove support for upgrading from old bookmark file format
* lisp/bookmark.el (bookmark-alist-from-buffer): Remove support for
old bookmark file format. (Bug#37122)
(bookmark-upgrade-version-0-alist)
(bookmark-upgrade-file-format-from-0)
(bookmark-grok-file-format-version)
(bookmark-maybe-upgrade-file-format): Declare obsolete.
(bookmark-load): Don't call 'bookmark-maybe-upgrade-file-format'.
* etc/NEWS: Announce it.
Juri Linkov [Sun, 8 Sep 2019 20:27:23 +0000 (23:27 +0300)]
* lisp/tmm.el: Fix broken tmm-prompt (bug#34517)
* lisp/tmm.el (tmm-prompt): Don't duplicate items of tmm--history.
Don't reverse tmm-km-list for completion. Don't set the initial
position of 'tmm--history. Use reverse tmm--history as the list
of default values for M-n.
(tmm-add-prompt): Don't insert initial value to the minibuffer.
Alan Mackenzie [Sun, 8 Sep 2019 10:44:27 +0000 (10:44 +0000)]
Fix untidinesses in compile.el.
* lisp/progmodes/compile.el (compilation--margin-string): Renamed from
compilation-margin-string. Use defconst rather than defvar. Use propertize
rather than a separate put-text-property. Trim the doc string.
Michael Albinus [Sun, 8 Sep 2019 10:01:41 +0000 (12:01 +0200)]
Fix Bug#36090
* lisp/vc/vc-hg.el (vc-hg--pushpull, vc-hg-merge-branch)
(vc-hg-command): Disable pager. (Bug#36090)
Michael Albinus [Sun, 8 Sep 2019 08:13:13 +0000 (10:13 +0200)]
Fix Bug#37202
* test/lisp/shadowfile-tests.el (shadow-test08-shadow-todo)
(shadow-test09-shadow-copy-files): Use truename of
`shadow-test-remote-temporary-file-directory'. (Bug#37202)
Paul Eggert [Sun, 8 Sep 2019 01:08:12 +0000 (18:08 -0700)]
Fix bug when gc-cons-percentage is bumped to 0.8
Problem reported by Michael Heerdegen (Bug#37321).
* src/alloc.c (gc_threshold): New static var.
(bump_consing_until_gc): Change args from DIFF to THRESHOLD and
PERCENTAGE. All uses changed. When accounting for a changed
gc-cons-percentage, do not assume that total_bytes_of_live_objects
returns the same value now that it did the last time we were
called.
Stefan Kangas [Tue, 27 Aug 2019 01:36:05 +0000 (03:36 +0200)]
Use derived-mode-p consistently in info.el
* lisp/info.el (Info-hide-note-references, info-display-manual)
(info--manual-names): Use derived-mode-p. (Bug#27583)
Noam Postavsky [Sat, 7 Sep 2019 21:00:39 +0000 (17:00 -0400)]
Let byte-compiler recognize that local-variable-p implies boundp
* lisp/emacs-lisp/bytecomp.el (byte-compile-maybe-guarded): Add
arguments to local-variable-p to the bound list.
* lisp/image-mode.el (image-toggle-display-image): Remove no longer
needed boundp check.
Joel Rosdahl [Wed, 28 Aug 2019 19:00:00 +0000 (21:00 +0200)]
Fix flymake-proc temporary file deletion bug
* list/progmodes/flymake-proc.el (flymake-proc-create-temp-inplace):
Include a time string part (hour + minute + second + nanosecond) in
the temporary name to make it unique enough.
(flymake-proc-legacy-flymake): Store temporary file names in the
process for usage in the sentinel.
(flymake-proc--process-sentinel): Bind values of temporary file names
dynamically to values stored in the process so that the cleanup
function will delete the correct temporary file(s).
Fixes bug#31981.
Eli Zaretskii [Sat, 7 Sep 2019 12:53:57 +0000 (15:53 +0300)]
Support visiting compressed image files
* lisp/image-mode.el (image-toggle-display-image): Support
visiting compressed image files which are uncompressed by
jka-compr.el. (Bug#37330)
Michael Albinus [Sat, 7 Sep 2019 10:31:31 +0000 (12:31 +0200)]
Add traces in shadowfile
* lisp/shadowfile.el (shadow-add-to-todo)
(shadow-remove-from-todo, shadow-save-todo-file):
* test/lisp/shadowfile-tests.el (shadow-test08-shadow-todo):
Add traces.
Evgeny Zajcev [Wed, 4 Sep 2019 15:09:55 +0000 (18:09 +0300)]
Fix input method operation on read-only text
* lisp/international/quail.el (quail-input-method): Check also
read-only property of text in addition to the buffer's
read-only state.
Eli Zaretskii [Sat, 7 Sep 2019 09:42:52 +0000 (12:42 +0300)]
; (server-goto-toplevel): Fix comment to reflect the code.
Eli Zaretskii [Sat, 7 Sep 2019 09:33:03 +0000 (12:33 +0300)]
Allow client connections when in recursive-edit
* lisp/server.el (server-goto-toplevel): Check minibuffer
depth, not recursion depth. This avoids exiting
recursive-edit if a client connection is accepted during
recursive-edit. (Bug#37176)
Eli Zaretskii [Sat, 7 Sep 2019 09:26:08 +0000 (12:26 +0300)]
Set inhibit-compacting-font-caches to t by default on MS-Windows
* src/font.c (syms_of_font) [WINDOWSNT]: Set
inhibit-compacting-font-caches to t by default.
* etc/NEWS: Mention the change.
Eli Zaretskii [Sat, 7 Sep 2019 09:19:06 +0000 (12:19 +0300)]
Allow Zs characters to be composed
* src/composite.c (char_composable_p): Allow SPC and other Zs
characters to be composed.
* lisp/composite.el (compose-gstring-for-graphic): Don't
reject characters whose general category is Zs. (Bug#14461)
Eli Zaretskii [Sat, 7 Sep 2019 07:14:31 +0000 (10:14 +0300)]
Revert "file-truename now uses realpath for local files"
This reverts commit
a59839d7556ef85058e09b005f0ff32e59b20ec3.
This commit broke the MS-Windows build (because there's no
realpath on MS-Windows). Even if I change the implementation
to always signal an error on MS-Windows, the build fails.
Paul Eggert [Fri, 6 Sep 2019 21:30:33 +0000 (14:30 -0700)]
file-truename now uses realpath for local files
This uses fewer syscalls on GNU/Linux and other GNUish platforms.
* lisp/files.el (file-truename): Try fileio--truename
if there are no handlers.
* src/fileio.c: Include stdlib.h, for realpath.
(Ffileio__truename): New function.
Mauro Aranda [Wed, 28 Aug 2019 11:29:57 +0000 (08:29 -0300)]
Improve file name completion in file and directory widgets (Bug#7779)
* lisp/wid-edit.el (widget 'file, widget 'directory): Respect the option
read-file-name-completion-ignore-case.
(widget 'directory): Filter the file names, to only perform directory name
completion.
Amin Bandali [Sat, 17 Aug 2019 18:09:11 +0000 (14:09 -0400)]
Fix erc-lurker-update-status (bug#36843)
Broken since 2013-08-22 "* lisp/erc/erc.el: Use lexical-binding".
* lisp/erc/erc.el (erc-message-parsed): New variable.
(erc-display-message): Dynamically bind it.
(erc-lurker-update-status): Check it instead of using `parsed'
directly. This results in `erc-lurker-state' being properly updated
to keep track of non-lurkers, and thus `erc-lurker-p' returning
correct results rather than return t for everyone.
Paul Eggert [Thu, 5 Sep 2019 20:25:43 +0000 (13:25 -0700)]
Fix bugs when recalculating consing_until_gc
Problem reported by Joseph Mingrone (Bug#37006#72).
* src/alloc.c (watch_gc_cons_threshold)
(watch_gc_cons_percentage):
Don’t try to store an intmax_t into an int.
Redo to make the code clearer.
(watch_gc_cons_percentage):
Use gc_cons_threshold, not consing_until_gc.
Paul Eggert [Thu, 5 Sep 2019 18:42:56 +0000 (11:42 -0700)]
Port :safe-renegotiation test to GnuTLS < 3.6.3
Problem reported by Robert Pluim in
https://lists.gnu.org/r/emacs-devel/2019-09/msg00127.html
* src/gnutls.c (Fgnutls_peer_status): Simplify test for
whether the :safe-renegotiation result is needed, so that it
works all the way back to GnuTLS 2.12.2.
Lars Ingebrigtsen [Thu, 5 Sep 2019 11:26:08 +0000 (13:26 +0200)]
Further fix for network-security-protocol-checks
* lisp/net/nsm.el (network-security-protocol-checks): Fix the
defcustom type some more (bug#37306).
Lars Ingebrigtsen [Thu, 5 Sep 2019 11:23:07 +0000 (13:23 +0200)]
Fix defcustom type of network-security-protocol-checks
* lisp/net/nsm.el (network-security-protocol-checks): Fix the
defcustom type (bug#37306).
Paul Eggert [Thu, 5 Sep 2019 06:13:54 +0000 (23:13 -0700)]
Use plain ‘static’ for Emacs C inline functions
This improved performance of ‘make compile-always’ by 8.2%
on my platform (AMD Phenom II X4 910e, Fedora 30 x86-64).
* src/conf_post.h (INLINE, EXTERN_INLINE, INLINE_HEADER_BEGIN)
(INLINE_HEADER_END) [!EMACS_EXTERN_INLINE]: Use plain ‘static’.
Paul Eggert [Thu, 5 Sep 2019 00:43:16 +0000 (17:43 -0700)]
Tweak xd_append_arg to pacify -Wnull-dereference
* src/dbusbind.c (xd_append_arg): Redo to pacify gcc
-Wnull-dereference. Also, check that the Lisp string won’t
overrun the C signature buffer.
Robert Pluim [Mon, 2 Sep 2019 12:55:00 +0000 (14:55 +0200)]
Don't check for :safe-renegotiation with TLS1.3
* lisp/net/nsm.el (nsm-protocol-check--renegotiation-info-ext): Don't
check when using TLS1.3, renegotiation has been removed from TLS.
Reported in
<https://lists.gnu.org/archive/html/help-gnu-emacs/2019-09/msg00005.html>
Paul Eggert [Tue, 3 Sep 2019 19:16:21 +0000 (12:16 -0700)]
Don’t mention :safe-renegotiation in TLS 1.3
* src/gnutls.c (Fgnutls_peer_status): Don’t put the
safe-renegotiation indication into the status in TLS 1.3, which
removed support for renegotiation.
Robert Pluim [Wed, 4 Sep 2019 21:43:56 +0000 (23:43 +0200)]
Fix nsm for unencrypted connections
When connecting using a cleartext connection, nsm was erroring out and
tearing down the connection because it was trying to display
nonexistent certificate information.
* lisp/net/nsm.el (nsm-query-user): Only format certificate status
when it is valid. (Bug#37221)
Paul Eggert [Wed, 4 Sep 2019 18:08:34 +0000 (11:08 -0700)]
Port pdumper mmap to AIX
* src/pdumper.c (needs_mmap_retry_p) [_AIX]: Return true.
Problem observed on AIX 7.1 and 7.2 in GCC compile farm.
Paul Eggert [Wed, 4 Sep 2019 18:07:14 +0000 (11:07 -0700)]
Port to platforms with Xrender lib but not header
* configure.ac (HAVE_XRENDER): Also require ‘#include
<X11/extensions/Xrender.h>’ to work. Problem found
on gcc119 in GCC compile farm.
Mattias Engdegård [Wed, 4 Sep 2019 14:27:02 +0000 (16:27 +0200)]
Correct arguments to `skip-syntax-forward'
* lisp/wid-edit.el (widget-sexp-validate): Fix bad calls to
`skip-syntax-forward', whose argument is not a regexp.
Lars Ingebrigtsen [Wed, 4 Sep 2019 13:19:40 +0000 (15:19 +0200)]
Make the NSM not pop up an X dialogue on non-mouse actions
* lisp/emacs-lisp/rmc.el (read-multiple-choice): Don't pop up X
dialogues on (url-retrieve "https://expired.badssl.com/" #'ignore)
and the like.
Lars Ingebrigtsen [Fri, 30 Aug 2019 10:20:30 +0000 (12:20 +0200)]
Preserve more markers when reverting .gpg files
* lisp/epa-file.el (epa-file--replace-text): Gingerly replace the
text in the buffer to preserve as many markers as possible
(bug#34720). This emulates the behaviour of Finsert_file_contents
more accurately.
(epa-file-decode-and-insert): Remove compat code.
(epa-file-insert-file-contents): Use the new function.
* lisp/emacs-lisp/cl-lib.el (cl-incf): Add autoload cookie.
Mattias Engdegård [Wed, 4 Sep 2019 12:35:18 +0000 (14:35 +0200)]
Repair change to compilation-context-lines (bug#36832)
* lisp/progmodes/compile.el (compilation-set-window):
Restore proper behaviour when compilation-context-lines is nil,
which is the default.
Michael Albinus [Wed, 4 Sep 2019 12:13:13 +0000 (14:13 +0200)]
Further work on Bug#37202
* test/lisp/shadowfile-tests.el (shadow-debug): Set to t.
(shadow--tests-cleanup): Simplify.
(shadow-test*): Call `shadow-initialize'.
(shadow-test08-shadow-todo, shadow-test09-shadow-copy-files):
In cleanup, kill buffers used for test.
(top): Do not initialize.
Michael Albinus [Wed, 4 Sep 2019 07:37:37 +0000 (09:37 +0200)]
* lisp/net/tramp.el (tramp-process-sentinel): Use `process-buffer'.
Paul Eggert [Wed, 4 Sep 2019 06:40:32 +0000 (23:40 -0700)]
* src/systime.h (hz): #undef to work around AIX build issue.
Paul Eggert [Wed, 4 Sep 2019 04:54:58 +0000 (21:54 -0700)]
Prefer functions to macros in buffer.h
In buffer.h, prefer inline functions to function-like macros
when either will do. This helps avoid confusion about how
many times an arg is evaluated. On my platform, this patch
improves performance of ‘make compile-always’ by 5.7%.
Also, prefer enum constants to object-like macros
when either will do.
* src/buffer.h (BEG, BEG_BYTE, GAP_BYTES_DFL, GAP_BYTES_MIN)
(MAX_PER_BUFFER_VARS, NONEXISTENT_MODTIME_NSECS)
(UNKNOWN_MODTIME_NSECS, BUFFER_LISP_SIZE, BUFFER_REST_SIZE):
Now enum constants, instead of macros.
(BUFFER_CEILING_OF, BUFFER_FLOOR_OF, BUF_BEG, BUF_BEG_BYTE)
(BUF_BEGV, BUF_BEGV_BYTE, BUF_PT, BUF_PT_BYTE, BUF_ZV)
(BUF_ZV_BYTE, BUF_GPT_ADDR, BUF_Z_ADDR, BUF_GAP_END_ADDR)
(BUF_COMPUTE_UNCHANGED, SET_PT, TEMP_SET_PT, SET_PT_BOTH)
(TEMP_SET_PT_BOTH, BUF_TEMP_SET_PT, SET_BUF_BEGV, SET_BUF_ZV)
(SET_BUF_BEGV_BOTH, SET_BUF_ZV_BOTH, SET_BUF_PT_BOTH)
(BYTE_POS_ADDR, CHAR_POS_ADDR, CHAR_TO_BYTE, BYTE_TO_CHAR)
(PTR_BYTE_POS, FETCH_CHAR, FETCH_CHAR_AS_MULTIBYTE)
(BUF_BYTE_ADDRESS, BUF_CHAR_ADDRESS, BUF_PTR_BYTE_POS)
(BUF_FETCH_CHAR, BUF_FETCH_CHAR_AS_MULTIBYTE, BUF_FETCH_BYTE)
(BUFFER_PVEC_INIT, BUFFER_LIVE_P, BUFFER_HIDDEN_P)
(BUFFER_CHECK_INDIRECTION, OVERLAY_POSITION, PER_BUFFER_VALUE_P)
(SET_PER_BUFFER_VALUE_P, PER_BUFFER_IDX):
Now inline functions instead of macros.
Paul Eggert [Wed, 4 Sep 2019 04:54:58 +0000 (21:54 -0700)]
* src/xdisp.c (hscroll_window_tree): Fix type typo.
Paul Eggert [Wed, 4 Sep 2019 04:54:58 +0000 (21:54 -0700)]
Take last_per_buffer_idx private
This will simplify future changes. Turn the runtime check
into an eassert, since it’s not needed in production.
* src/buffer.c (last_per_buffer_idx): Now static.
(valid_per_buffer_idx): New function.
* src/buffer.h (PER_BUFFER_VALUE_P, SET_PER_BUFFER_VALUE_P): Use it.
Paul Eggert [Wed, 4 Sep 2019 04:53:36 +0000 (21:53 -0700)]
Avoid macros in pdumper.c when it’s easy
Problem with DUMP_SET_REFERRER mentioned by Pip Cet at end of:
https://lists.gnu.org/archive/html/emacs-devel/2019-07/msg00548.html
* src/pdumper.c (DANGEROUS, EMACS_RELOC_TYPE_BITS)
(EMACS_RELOC_LENGTH_BITS, DUMP_RELOC_TYPE_BITS)
(DUMP_RELOC_ALIGNMENT_BITS, DUMP_RELOC_OFFSET_BITS)
(DUMP_RELOCATION_ALIGNMENT, DUMP_ALIGNMENT)
(WEIGHT_NONE, WEIGHT_NORMAL, WEIGHT_STRONG)
(PDUMPER_MAX_OBJECT_SIZE):
Now a constant, not a macro.
(divide_round_up): Now a function, not a macro DIVIDE_ROUND_UP.
All uses changed.
(enum link_weight_enum, WEIGHT_NONE_VALUE)
(WEIGHT_NORMAL_VALUE, WEIGHT_STRONG_VALUE): Remove.
(struct link_weight): Just use an int.
(dump_set_referrer): New function, replacing DUMP_SET_REFERRER
macro with a different API. All uses changed.
(dump_clear_referrer): Rename from DUMP_CLEAR_REFERRER.
All uses changed.
(DEFINE_FROMLISP_FUNC, DEFINE_TOLISP_FUNC): Remove.
(intmax_t_from_lisp, intmax_t_to_lisp, dump_off_from_lisp)
(dump_off_to_lisp): Define without using macros,
(dump_off_from_lisp): Add an eassert range check.
(DUMP_FIELD_COPY): Simplify.
Paul Eggert [Wed, 4 Sep 2019 00:34:08 +0000 (17:34 -0700)]
Avoid casting -1 to possibly-unsigned enum
* src/alloc.c (mark_maybe_pointer):
* src/pdumper.h (pdumper_object_p_precise):
Use pdumper_valid_object_type_p.
* src/pdumper.c (pdumper_find_object_type_impl):
* src/pdumper.h (pdumper_find_object_type):
Return int, not enum Lisp_Type. All callers changed.
* src/pdumper.h (PDUMPER_NO_OBJECT): Do not cast -1 to enum
Lisp_Type; in theory, C18 says this could yield 7, which would
mean PDUMPER_NO_OBJECT == Lisp_Float (!).
(pdumper_valid_object_type_p): New function.
Daniel Colascione [Tue, 3 Sep 2019 20:16:21 +0000 (13:16 -0700)]
Run tramp cleanup in correct buffer
Fixes bug #37297.
* lisp/net/tramp.el (tramp-process-sentinel): Do process-end cleanup
in the tramp buffer, not a random file buffer.
Paul Eggert [Tue, 3 Sep 2019 20:03:34 +0000 (13:03 -0700)]
Sync consing_until_gc with gc-cons-threshold
Add watchers for gc-cons-threshold and gc-cons-percentage
that update consing_until_gc accordingly.
Suggested by Eli Zaretskii (Bug#37006#52).
* src/alloc.c (consing_threshold, bump_consing_until_gc)
(watch_gc_cons_threshold, watch_gc_cons_percentage):
New functions.
(garbage_collect_1): Use consing_threshold.
(syms_of_alloc): Arrange to watch gc-cons-threshold and
gc-cons-percentage.
Alan Mackenzie [Tue, 3 Sep 2019 17:33:26 +0000 (17:33 +0000)]
Use left margin to hold "=>" to indicate current error in fringeless windows
This applies to compilation-mode. It amends the fix for bug #36832.
* lisp/progmodes/compile.el (compilation-arrow-overlay): renamed from
overlay-arrow-overlay.
(compilation-margin-string, compilation--dummy-string): New variables.
(compilation-set-up-arrow-spec-in-margin)
(compilation-tear-down-arrow-spec-in-margin): New functions.
(compilation-set-overlay-arrow): Rewritten to use the new variables/functions.
Michael Albinus [Tue, 3 Sep 2019 11:55:42 +0000 (13:55 +0200)]
Fix Bug#37202
* lisp/shadowfile.el (shadow-debug): New defvar.
(shadow-read-files): Suppress error if there's no TODO file.
* test/lisp/shadowfile-tests.el (shadow-debug): Set to nil.
(shadow--tests-cleanup): New defun. Apply to all tests. (Bug#37202)
(shadow-test06-literal-groups): Cleanup temp buffer.
(shadow-test08-shadow-todo): Add debug messages.
(top): Cleanup initially.
Paul Eggert [Mon, 2 Sep 2019 19:37:52 +0000 (12:37 -0700)]
Update from Gnulib
This incorporates:
2019-08-25 intprops.h, verify.h: port better to clang
2019-08-21 New strip-trailing-space option for srclist-update
* .gitattributes: Remove doc/misc/texinfo.tex special case,
which is no longer needed now that Gnulib trims blank-at-eol.
* build-aux/install-sh, doc/misc/texinfo.tex, lib/intprops.h:
* lib/regex_internal.c, lib/verify.h: Copy from Gnulib.
Paul Eggert [Mon, 2 Sep 2019 18:32:50 +0000 (11:32 -0700)]
* doc/lispref/files.texi (Standard File Names): Mention .emacs.d too.
Robert Pluim [Mon, 2 Sep 2019 15:28:59 +0000 (17:28 +0200)]
Reword documentation markup description
* etc/NEWS: Reword temporary note about documentation updates.
Robert Pluim [Mon, 2 Sep 2019 15:26:10 +0000 (17:26 +0200)]
Add 'nsm-trust-local-network' to NEWS
* etc/NEWS: Describe 'nsm-trust-local-network', and warn against its
use.
Glenn Morris [Sun, 1 Sep 2019 21:35:31 +0000 (14:35 -0700)]
* admin/admin.el (set-version): Check for empty NEWS sections.
Paul Eggert [Sun, 1 Sep 2019 16:56:40 +0000 (09:56 -0700)]
Fix load-theme bug with user-emacs-directory
* lisp/custom.el (custom-theme-directory): Delay initialization,
since the value depends on user-emacs-directory (Bug#37256).
Glenn Morris [Sun, 1 Sep 2019 13:26:47 +0000 (06:26 -0700)]
; Auto-commit of loaddefs files.
Mattias Engdegård [Sun, 1 Sep 2019 12:26:18 +0000 (14:26 +0200)]
Clarify what counts as whitespace in `string-blank-p'
* lisp/emacs-lisp/subr-x.el (string-blank-p): Expand doc string.
Thomas Fitzsimmons [Sat, 31 Aug 2019 14:48:59 +0000 (10:48 -0400)]
package.el: Allow Package-Requires to span multiple lines (Bug#36301)
* lisp/emacs-lisp/package.el (lm-header-multiline): Declare
function.
(package-buffer-info): Parse Package-Requires with
lm-header-multiline instead of lm-header.
(Bug#36301)
Co-authored-by: Noam Postavsky <npostavs@gmail.com>
Paul Eggert [Sun, 1 Sep 2019 01:17:20 +0000 (18:17 -0700)]
Make user-emacs-directory a variable
This is in response to Eli’s review here:
https://lists.gnu.org/r/emacs-devel/2019-07/msg00712.html
* lisp/subr.el (user-emacs-directory): defvar, not defconst
Paul Eggert [Sun, 1 Sep 2019 01:16:17 +0000 (18:16 -0700)]
Improve documentation for recent XDG-related changes
Adjust documentation in the light of Eli’s review here:
https://lists.gnu.org/r/emacs-devel/2019-07/msg00712.html
* doc/emacs/custom.texi (Init File, Find Init):
* doc/lispref/files.texi (Standard File Names):
* doc/lispref/os.texi (Init File):
Paul Eggert [Sat, 31 Aug 2019 21:48:26 +0000 (14:48 -0700)]
* doc/lispref/customize.texi: Fix typo.
Paul Eggert [Sat, 31 Aug 2019 21:47:04 +0000 (14:47 -0700)]
Calculate user-emacs-directory on startup
Problem reported by Glenn Morris (Bug#583#56).
* lisp/startup.el (startup--xdg-config-default): New constant.
(startup--xdg-config-home-emacs): New var.
(startup--xdg-or-homedot): New function.
(normal-top-level): Use it to set user-emacs-directory early on.
(command-line): Also use it to determine the startup init directory.
* lisp/subr.el (user-emacs-directory): Just initialize to nil.
Paul Eggert [Sat, 31 Aug 2019 17:35:08 +0000 (10:35 -0700)]
Check instead of relying on NOTREACHED
NOTREACHED was designed for traditional lint decades ago,
and _Noreturn now normally subsumes its function.
In the one case in Emacs where NORETURN might help and _Noreturn does
not, check for NOTREACHED instead of assuming it.
* lib-src/etags.c (main):
* src/xterm.c (x_connection_closed):
Remove NOTREACHED after a call to a _Noreturn function, as NOTREACHED
is no longer needed there. Also, one of the NOTREACHEDs was
misplaced, which defeated traditional lint checking anyway.
* lib-src/pop.c (pop_getline): Redo so as to not need NOTREACHED.
* src/emacs.c (main): Use eassume (false) rather than NOTREACHED,
so that running with ENABLE_CHECKING catches any internal error
causing the toplevel Frecursive_edit to return.
Glenn Morris [Sat, 31 Aug 2019 17:30:14 +0000 (10:30 -0700)]
* test/lisp/net/tramp-tests.el (tramp-test21-file-links): More cleanup.
Andreas Schwab [Sat, 31 Aug 2019 10:39:16 +0000 (12:39 +0200)]
Fix compilation with CHECK_STRUCTS
* src/pdumper.c (dump_hash_table): Update hash of Lisp_Hash_Table.
Eli Zaretskii [Sat, 31 Aug 2019 06:58:45 +0000 (09:58 +0300)]
; * src/floatfns.c: Don't use non-ASCII characters in comments.
Eli Zaretskii [Sat, 31 Aug 2019 06:54:05 +0000 (09:54 +0300)]
Avoid signaling errors from ls-lisp--insert-directory on macOS
* lisp/ls-lisp.el (ls-lisp-sanitize): Don't assume the
directory entries for ".." and "." will either both be present
or both absent. (Bug#37236)
Mattias Engdegård [Thu, 29 Aug 2019 10:29:47 +0000 (12:29 +0200)]
* src/floatfns.c: Check against __FINITE_MATH_ONLY__ (bug#37140)
Michael Albinus [Fri, 30 Aug 2019 11:54:42 +0000 (13:54 +0200)]
Extend tramp--test-check-files (Bug#37228)
* test/lisp/net/tramp-tests.el (tramp--test-check-files): Test also
`directory-files-and-attributes'. (Bug#37228)
Koichi Arakawa [Fri, 30 Aug 2019 11:53:56 +0000 (13:53 +0200)]
Fix Tramp's directory-files-and-attributes-with-stat (Bug#37228)
* lisp/net/tramp-sh.el
(tramp-do-directory-files-and-attributes-with-stat): Handle file
names with spaces. (Bug#37228)
Copyright-paperwork-exempt: yes
Paul Eggert [Fri, 30 Aug 2019 07:24:07 +0000 (00:24 -0700)]
emacsclient: adjust to new config file location
* lib-src/emacsclient.c (open_config): New arg XDG, to respect
XDG_CONFIG_HOME, consistently with Emacs proper. Caller changed.
Use XDG convention if available, falling back on the old names
if not.
Paul Eggert [Fri, 30 Aug 2019 05:29:52 +0000 (22:29 -0700)]
Prefer ~/.config/emacs to ~/.emacs.d if neither exists
That way, when Emacs starts in a fresh home directory,
it prefers the new (XDG) convention rather than the old one.
* lisp/files.el (locate-user-emacs-file): Make the parent
directories of user-emacs-directory if needed. This is useful
if user-emacs-directory is "~/.config/emacs" and "~/.config"
does not yet exist.
* lisp/startup.el (command-line):
* lisp/subr.el (user-emacs-directory):
Prefer XDG_CONFIG_HOME to ~/.emacs.d if neither exists.
Nick Drozd [Thu, 29 Aug 2019 23:36:50 +0000 (18:36 -0500)]
Minor copyedits in ido.texi
* doc/misc/ido.texi (Overview)
(Interactive Substring Matching, Prefix Matching)
(Regexp Matching, Hidden Buffers and Files)
(Changing List Order, Find File At Point, Misc)
(All Matching, Replacement): Fix wording, markup and punctuation.
(Bug#37225)
Glenn Morris [Thu, 29 Aug 2019 18:12:12 +0000 (11:12 -0700)]
Merge from origin/emacs-26
1af1240 (origin/emacs-26, emacs-26) ; Remove empty NEWS sections
96dd019 (tag: emacs-26.3-rc1, tag: emacs-26.3) * etc/HISTORY: Add Ema...
# Conflicts:
# etc/NEWS
Glenn Morris [Thu, 29 Aug 2019 18:11:24 +0000 (11:11 -0700)]
; Merge from origin/emacs-26
The following commit was skipped:
4e59ad5 Bump Emacs version to 26.3
Glenn Morris [Thu, 29 Aug 2019 18:11:23 +0000 (11:11 -0700)]
Merge from origin/emacs-26
70829f8 ; ChangeLog.3 update
# Conflicts:
# ChangeLog.3
Glenn Morris [Thu, 29 Aug 2019 18:11:22 +0000 (11:11 -0700)]
; Merge from origin/emacs-26
The following commit was skipped:
a6d0172 * etc/AUTHORS: Update.
Glenn Morris [Thu, 29 Aug 2019 18:11:21 +0000 (11:11 -0700)]
Merge from origin/emacs-26
290fe4d * ; ChangeLog.3 update
e8f176b * etc/NEWS: Delete temporary markup.
# Conflicts:
# ChangeLog.3
# etc/NEWS
Glenn Morris [Thu, 29 Aug 2019 18:04:18 +0000 (11:04 -0700)]
; Fix earlier NEWS merge
Glenn Morris [Thu, 29 Aug 2019 17:59:53 +0000 (10:59 -0700)]
; Remove empty NEWS sections
Stefan Kangas [Tue, 20 Aug 2019 23:02:43 +0000 (01:02 +0200)]
Add new "make help" target
* GNUmakefile: Add new "help" target that shows a brief summary of
common make targets. (Bug#12411)
* INSTALL
* etc/NEWS: Announce it.
Lars Ingebrigtsen [Thu, 29 Aug 2019 07:18:40 +0000 (09:18 +0200)]
Tweak shr background colour handling
* lisp/net/shr.el (shr-fill-line): Extend the background to the
end of the line when folding lines.
Michael Albinus [Wed, 28 Aug 2019 18:39:33 +0000 (20:39 +0200)]
Clarify meaning of <filename> in test/README
Paul Eggert [Wed, 28 Aug 2019 18:34:48 +0000 (11:34 -0700)]
Don't worry about pre-1.0.0 alsa-lib include
Problem reported by Ergus in:
https://lists.gnu.org/r/emacs-devel/2019-08/msg00563.html
* configure.ac (ALSA_SUBDIR_INCLUDE): Do not define.
* src/sound.c: Assume ALSA_SUBDIR_INCLUDE.
Eli Zaretskii [Wed, 28 Aug 2019 11:00:01 +0000 (14:00 +0300)]
; Improve and clarify wording of recent commit in NEWS.
Paul Eggert [Tue, 27 Aug 2019 21:21:45 +0000 (14:21 -0700)]
Use XDG conventions more consistently
Fit in better with the XDG conventions.
Something like this was suggested in 2008 (Bug#583)
and the XDG conventions seem to have settled down by now.
* doc/emacs/custom.texi (Init File, Init Syntax, Find Init):
* doc/lispref/files.texi (Standard File Names):
* doc/lispref/os.texi (Init File):
* doc/misc/url.texi (Customization):
* etc/NEWS:
Adjust accordingly.
* lisp/startup.el (startup--load-user-init-file):
If init-file-name is nil, do not load from it; instead
just use the alt-file.
(find-init-path): Remove; no longer used.
(command-line): Don't check twice for XDG.
Look at XDG_CONFIG_HOME instead of assuming it's ~/.config.
Prefer XDG configuration if it exists; the user can disable
this by setting XDG_CONFIG_HOME to some other place.
* lisp/subr.el (user-emacs-directory):
Prefer XDG configuration if it exists.
Paul Eggert [Tue, 27 Aug 2019 21:19:38 +0000 (14:19 -0700)]
Port recent gnutls fixes to gcc -Wpointer-sign
* src/gnutls.c (Fgnutls_format_certificate):
Fix pointer signedness problem.
Juri Linkov [Tue, 27 Aug 2019 20:48:57 +0000 (23:48 +0300)]
Browser-like Info-history button menu (bug#37184)
* doc/misc/info.texi (Help-Int): Using tool-bar to navigate history.
* lisp/info.el (Info-history-menu): New function.
(Info-history-back-menu, Info-history-forward-menu): New commands.
(Info-mode-map): Bind Info-history-back-menu and
Info-history-forward-menu to tool-bar on C-key.
Michael Albinus [Tue, 27 Aug 2019 16:53:26 +0000 (18:53 +0200)]
Deactivate part of tramp--test-check-files on macOS (Bug#36940)
* test/lisp/net/tramp-tests.el (tramp--test-check-files): Do not
search for environment variables on macOS. (Bug#36940)